Houdiniメモ : VEX : ジオメトリの重心を計算
ジオメトリの重心(すべてのポイントの座標平均)を計算するVEX
code:VEX(c)
// ジオメトリ内の全ポイントの座標を合計
vector total = {0, 0, 0};
for(int i = 0; i < @numpt; i++){
total += point(geoself(), "P", i);
}
// 重心(全ポイントの座標の平均値)を求める
vector average = total / @numpt;
// 重心をアトリビュートに保存
v@Center = average;
■使用例
1. Lineの作成
https://gyazo.com/af15b952ade89e78fa1d8302df4dc475
2. 重心を計算
AttributeWrangleで重心を計算し、pointを追加。
https://gyazo.com/6ebf62ddd3dd521d058b2dccaffa41f6
code:AttributeWrangle(c)
// ジオメトリ内の全ポイントの座標を合計
vector total = {0, 0, 0};
for(int i = 0; i < @numpt; i++){
total += point(geoself(), "P", i);
}
// 全ポイントの座標の平均値を求める
vector average = total / @numpt;
// ポイントを追加
addpoint(geoself(), average);
数学 : 幾何中心
以下を幾何中心と呼ぶ
$ \frac{x_1 + x_2 + x_3 + \cdots x_n }{n}
$ x_1, x_2, ... , x_n : 点
$ n : 整数
平均に関連する用語
算術平均
加重平均
幾何平均
調和平均